/*//////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2006-2008 Intel Corporation. All Rights Reserved.
//
*/

#include "umc_defs.h"
#if defined (UMC_ENABLE_MP3_AUDIO_ENCODER)

#include "mp3enc_own_fp.h"

/* Layer I,II tables */

const Ipp32f mp3enc_ptbl_TMN_l2[3][CBANDS_12] = {
  { // 44100
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    25.0f,    25.6f,    26.2f,
    26.7f,    27.4f,    27.9f,    28.4f,
    28.9f,    29.4f,    29.8f,    30.3f,
    30.8f,    31.2f,    31.7f,    32.1f,
    32.5f,    32.9f,    33.3f,    33.7f,
    34.1f,    34.5f,    34.9f,    35.2f,
    35.6f,    36.0f,    36.3f,    36.7f,
    37.1f,    37.4f,    37.8f,    38.1f,
    38.4f,    38.8f,    39.1f,    39.5f,
    39.8f,
  },
  {//48000
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    25.1f,    25.8f,    26.4f,
    26.9f,    27.5f,    28.1f,    28.6f,
    29.1f,    29.6f,    30.2f,    30.7f,
    31.1f,    31.5f,    31.9f,    32.3f,
    32.7f,    33.2f,    33.6f,    34.0f,
    34.3f,    34.7f,    35.1f,    35.5f,
    35.9f,    36.3f,    36.6f,    37.0f,
    37.3f,    37.7f,    38.0f,    38.4f,
    38.7f,    39.1f,    39.4f,    39.8f,
    40.1f,    40.3f,
  },
  {//32000
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.5f,    24.5f,
    24.5f,    24.5f,    24.8f,    25.4f,
    25.9f,    26.4f,    26.9f,    27.3f,
    27.8f,    28.3f,    28.8f,    29.3f,
    29.7f,    30.1f,    30.6f,    31.0f,
    31.4f,    31.8f,    32.2f,    32.5f,
    32.9f,    33.3f,    33.7f,    34.1f,
    34.4f,    34.8f,    35.2f,    35.5f,
    35.9f,    36.2f,    36.6f,    36.9f,
    37.3f,    37.6f,    38.0f,    38.3f,
    38.6f,
  }
};

const Ipp32f mp3enc_ptbl_minval_l12[3][CBANDS_12] = {
  { // 44100
     0.0f,     0.0f,     0.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    17.0f,
    17.0f,    15.0f,    10.0f,     7.0f,
     7.0f,     4.4f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     3.5f,
  },
  {//48000
     0.0f,     0.0f,     0.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    17.0f,
    17.0f,    15.0f,    10.0f,     7.0f,
     7.0f,     4.4f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     3.5f,     3.5f,
  },
  {//32000
     0.0f,     0.0f,    20.0f,    20.0f,
    20.0f,    20.0f,    20.0f,    20.0f,
    17.0f,    15.0f,    15.0f,    10.0f,
     7.0f,     7.0f,     4.4f,     4.4f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,     4.5f,     4.5f,     4.5f,
     4.5f,
  }
};

const Ipp32f mp3enc_ptbl_bval_l12[3][CBANDS_12] = {
  { // 44100
     0.00f,     0.43f,     0.86f,     1.29f,
     1.72f,     2.15f,     2.58f,     3.01f,
     3.45f,     3.88f,     4.28f,     4.67f,
     5.06f,     5.42f,     5.77f,     6.11f,
     6.73f,     7.61f,     8.44f,     9.21f,
     9.88f,    10.51f,    11.11f,    11.65f,
    12.24f,    12.85f,    13.41f,    13.94f,
    14.42f,    14.86f,    15.32f,    15.79f,
    16.26f,    16.73f,    17.19f,    17.62f,
    18.05f,    18.45f,    18.83f,    19.21f,
    19.60f,    20.00f,    20.38f,    20.74f,
    21.12f,    21.48f,    21.84f,    22.20f,
    22.56f,    22.91f,    23.26f,    23.60f,
    23.95f,    24.30f,    24.65f,    25.00f,
    25.33f,
  },
  {//48000
     0.00f,     0.47f,     0.94f,     1.41f,
     1.88f,     2.34f,     2.81f,     3.28f,
     3.75f,     4.20f,     4.63f,     5.05f,
     5.44f,     5.83f,     6.19f,     6.52f,
     6.86f,     7.49f,     8.40f,     9.24f,
     9.97f,    10.65f,    11.28f,    11.86f,
    12.39f,    12.96f,    13.56f,    14.12f,
    14.62f,    15.14f,    15.67f,    16.15f,
    16.58f,    17.02f,    17.44f,    17.84f,
    18.24f,    18.66f,    19.07f,    19.47f,
    19.85f,    20.23f,    20.63f,    21.02f,
    21.40f,    21.76f,    22.12f,    22.47f,
    22.83f,    23.18f,    23.53f,    23.88f,
    24.23f,    24.58f,    24.93f,    25.27f,
    25.61f,    25.81f,
  },
  {//32000
     0.00f,     0.63f,     1.56f,     2.50f,
     3.44f,     4.34f,     5.17f,     5.94f,
     6.63f,     7.28f,     7.90f,     8.50f,
     9.06f,     9.65f,    10.28f,    10.87f,
    11.41f,    11.92f,    12.39f,    12.83f,
    13.29f,    13.78f,    14.27f,    14.76f,
    15.22f,    15.63f,    16.06f,    16.47f,
    16.86f,    17.25f,    17.65f,    18.05f,
    18.42f,    18.81f,    19.18f,    19.55f,
    19.93f,    20.29f,    20.65f,    21.02f,
    21.38f,    21.74f,    22.10f,    22.44f,
    22.79f,    23.14f,    23.49f,    23.83f,
    24.07f,
  }
};

const Ipp32s mp3enc_ptbl_numlines_l12[3][CBANDS_12] = {
  {
    1,  1,  1,  1,
    1,  1,  1,  1,
    1,  1,  1,  1,
    1,  1,  1,  1,
    3,  3,  3,  3,
    3,  3,  3,  3,
    4,  4,  4,  4,
    4,  4,  5,  5,
    6,  6,  7,  7,
    8,  8,  8, 10,
    10, 11, 11, 11,
    15, 15, 15, 21,
    21, 22, 28, 28,
    29, 30, 30, 38,
    43,
  },
  {
    1,  1,  1,  1,
    1,  1,  1,  1,
    1,  1,  1,  1,
    1,  1,  1,  1,
    1,  3,  3,  3,
    3,  3,  3,  3,
    3,  4,  4,  4,
    4,  5,  5,  5,
    5,  6,  6,  6,
    8,  8,  9,  9,
    9, 11, 11, 13,
    14, 14, 18, 19,
    19, 26, 26, 26,
    28, 28, 32, 42,
    42,  5,
  },
  {
    1,  3,  3,  3,
    3,  3,  3,  3,
    3,  3,  3,  3,
    3,  4,  4,  4,
    4,  4,  4,  4,
    5,  5,  6,  6,
    6,  6,  7,  7,
    7,  9,  9, 10,
    11, 11, 13, 13,
    14, 15, 15, 18,
    21, 21, 26, 28,
    28, 38, 38, 38,
    16,
  }
};

const ptblthr_12 mp3enc_absthr[3][132] = {
  {
    1, 45.05f,
    1, 25.87f,
    1, 18.70f,
    1, 14.85f,
    1, 12.41f,
    1, 10.72f,
    1, 9.47f,
    1, 8.50f,
    1, 7.73f,
    1, 7.10f,
    1, 6.56f,
    1, 6.11f,
    1, 5.72f,
    1, 5.37f,
    1, 5.07f,
    1, 4.79f,
    1, 4.55f,
    1, 4.32f,
    1, 4.11f,
    1, 3.92f,
    1, 3.74f,
    1, 3.57f,
    1, 3.40f,
    1, 3.25f,
    1, 3.10f,
    1, 2.95f,
    1, 2.81f,
    1, 2.67f,
    1, 2.53f,
    1, 2.39f,
    1, 2.25f,
    1, 2.11f,
    1, 1.97f,
    1, 1.83f,
    1, 1.68f,
    1, 1.53f,
    1, 1.38f,
    1, 1.23f,
    1, 1.07f,
    1, 0.90f,
    1, 0.74f,
    1, 0.56f,
    1, 0.39f,
    1, 0.21f,
    1, 0.02f,
    1, -0.17f,
    1, -0.36f,
    1, -0.56f,
    2, -0.96f,
    2, -1.37f,
    2, -1.79f,
    2, -2.21f,
    2, -2.63f,
    2, -3.03f,
    2, -3.41f,
    2, -3.77f,
    2, -4.09f,
    2, -4.37f,
    2, -4.60f,
    2, -4.78f,
    2, -4.91f,
    2, -4.97f,
    2, -4.98f,
    2, -4.92f,
    2, -4.81f,
    2, -4.65f,
    2, -4.43f,
    2, -4.17f,
    2, -3.87f,
    2, -3.54f,
    2, -3.19f,
    2, -2.82f,
    4, -2.06f,
    4, -1.33f,
    4, -0.64f,
    4, -0.04f,
    4, 0.47f,
    4, 0.89f,
    4, 1.23f,
    4, 1.51f,
    4, 1.74f,
    4, 1.93f,
    4, 2.11f,
    4, 2.28f,
    4, 2.45f,
    4, 2.63f,
    4, 2.82f,
    4, 3.03f,
    4, 3.25f,
    4, 3.49f,
    4, 3.74f,
    4, 4.02f,
    4, 4.32f,
    4, 4.64f,
    4, 4.98f,
    4, 5.35f,
    8, 6.15f,
    8, 7.07f,
    8, 8.10f,
    8, 9.25f,
    8, 10.54f,
    8, 11.97f,
    8, 13.56f,
    8, 15.30f,
    8, 17.23f,
    8, 19.33f,
    8, 21.64f,
    8, 24.15f,
    8, 26.88f,
    8, 29.84f,
    8, 33.04f,
    8, 36.51f,
    8, 40.24f,
    8, 44.26f,
    8, 48.58f,
    8, 53.21f,
    8, 58.17f,
    8, 63.48f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
    8, 69.13f,
  },
  {
    1, 42.10f,
    1, 24.17f,
    1, 17.47f,
    1, 13.87f,
    1, 11.60f,
    1, 10.01f,
    1, 8.84f,
    1, 7.94f,
    1, 7.22f,
    1, 6.62f,
    1, 6.12f,
    1, 5.70f,
    1, 5.33f,
    1, 5.00f,
    1, 4.71f,
    1, 4.45f,
    1, 4.21f,
    1, 4.00f,
    1, 3.79f,
    1, 3.61f,
    1, 3.43f,
    1, 3.26f,
    1, 3.09f,
    1, 2.93f,
    1, 2.78f,
    1, 2.63f,
    1, 2.47f,
    1, 2.32f,
    1, 2.17f,
    1, 2.02f,
    1, 1.86f,
    1, 1.71f,
    1, 1.55f,
    1, 1.38f,
    1, 1.21f,
    1, 1.04f,
    1, 0.86f,
    1, 0.67f,
    1, 0.49f,
    1, 0.29f,
    1, 0.09f,
    1, -0.11f,
    1, -0.32f,
    1, -0.54f,
    1, -0.75f,
    1, -0.97f,
    1, -1.20f,
    1, -1.43f,
    2, -1.88f,
    2, -2.34f,
    2, -2.79f,
    2, -3.22f,
    2, -3.62f,
    2, -3.98f,
    2, -4.30f,
    2, -4.57f,
    2, -4.77f,
    2, -4.91f,
    2, -4.98f,
    2, -4.97f,
    2, -4.90f,
    2, -4.76f,
    2, -4.55f,
    2, -4.29f,
    2, -3.99f,
    2, -3.64f,
    2, -3.26f,
    2, -2.86f,
    2, -2.45f,
    2, -2.04f,
    2, -1.63f,
    2, -1.24f,
    4, -0.51f,
    4, 0.12f,
    4, 0.64f,
    4, 1.06f,
    4, 1.39f,
    4, 1.66f,
    4, 1.88f,
    4, 2.08f,
    4, 2.27f,
    4, 2.46f,
    4, 2.65f,
    4, 2.86f,
    4, 3.09f,
    4, 3.33f,
    4, 3.60f,
    4, 3.89f,
    4, 4.20f,
    4, 4.54f,
    4, 4.91f,
    4, 5.31f,
    4, 5.73f,
    4, 6.18f,
    4, 6.67f,
    4, 7.19f,
    8, 8.33f,
    8, 9.63f,
    8, 11.08f,
    8, 12.71f,
    8, 14.53f,
    8, 16.54f,
    8, 18.77f,
    8, 21.23f,
    8, 23.94f,
    8, 26.90f,
    8, 30.14f,
    8, 33.67f,
    8, 37.51f,
    8, 41.67f,
    8, 46.17f,
    8, 51.04f,
    8, 56.29f,
    4, 61.94f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
    8, 68.00f,
  },
  {
    1, 58.23f,
    1, 33.44f,
    1, 24.17f,
    1, 19.20f,
    1, 16.05f,
    1, 13.87f,
    1, 12.26f,
    1, 11.01f,
    1, 10.01f,
    1, 9.20f,
    1, 8.52f,
    1, 7.94f,
    1, 7.44f,
    1, 7.00f,
    1, 6.62f,
    1, 6.28f,
    1, 5.97f,
    1, 5.70f,
    1, 5.44f,
    1, 5.21f,
    1, 5.00f,
    1, 4.80f,
    1, 4.62f,
    1, 4.45f,
    1, 4.29f,
    1, 4.14f,
    1, 4.00f,
    1, 3.86f,
    1, 3.73f,
    1, 3.61f,
    1, 3.49f,
    1, 3.37f,
    1, 3.26f,
    1, 3.15f,
    1, 3.04f,
    1, 2.93f,
    1, 2.83f,
    1, 2.73f,
    1, 2.63f,
    1, 2.53f,
    1, 2.42f,
    1, 2.32f,
    1, 2.22f,
    1, 2.12f,
    1, 2.02f,
    1, 1.92f,
    1, 1.81f,
    1, 1.71f,
    2, 1.49f,
    2, 1.27f,
    2, 1.04f,
    2, 0.80f,
    1, 0.55f,
    2, 0.29f,
    2, 0.02f,
    2, -0.25f,
    2, -0.54f,
    2, -0.83f,
    2, -1.12f,
    2, -1.43f,
    2, -1.73f,
    2, -2.04f,
    2, -2.34f,
    2, -2.64f,
    2, -2.93f,
    2, -3.22f,
    2, -3.49f,
    2, -3.74f,
    2, -3.98f,
    2, -4.20f,
    2, -4.40f,
    2, -4.57f,
    4, -4.82f,
    4, -4.96f,
    4, -4.97f,
    4, -4.86f,
    4, -4.63f,
    4, -4.29f,
    4, -3.87f,
    4, -3.39f,
    4, -2.86f,
    4, -2.31f,
    4, -1.77f,
    4, -1.24f,
    4, -0.74f,
    4, -0.29f,
    4, 0.12f,
    4, 0.48f,
    4, 0.79f,
    4, 1.06f,
    4, 1.29f,
    4, 1.49f,
    4, 1.66f,
    4, 1.81f,
    4, 1.95f,
    4, 2.08f,
    8, 2.33f,
    8, 2.59f,
    8, 2.86f,
    8, 3.17f,
    8, 3.51f,
    8, 3.89f,
    8, 4.31f,
    8, 4.79f,
    8, 5.31f,
    8, 5.88f,
    8, 6.50f,
    8, 7.19f,
    8, 7.93f,
    8, 8.75f,
    8, 9.63f,
    8, 10.58f,
    8, 11.60f,
    8, 12.71f,
    8, 13.90f,
    8, 15.18f,
    8, 16.54f,
    8, 18.01f,
    8, 19.57f,
    8, 21.23f,
    8, 23.01f,
    8, 24.90f,
    8, 26.90f,
    8, 29.03f,
    8, 31.28f,
    8, 33.67f,
    8, 36.19f,
    8, 38.86f,
    8, 41.67f,
    8, 44.63f,
    8, 47.76f,
    8, 51.03f,
  }
};

/* Layer III tables */

static Ipp32s mp3enc_bark_numlines_l_44[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  3,
  3,  3,  3,  3,  3,  4,  4,  4,  5,  5,  5,  6,  6,  6,  8,  8,
  8,  9, 10, 10, 11, 12, 13, 13, 15, 16, 17, 18, 20, 22, 24, 27,
  30, 33, 38, 42, 50, 15
};

static Ipp32f mp3enc_bark_values_l_44[] = {
  0.19f,  0.57f,  0.94f,  1.32f,  1.69f,  2.07f,  2.43f,  2.80f,
  3.16f,  3.51f,  3.86f,  4.21f,  4.55f,  4.88f,  5.21f,  5.53f,
  5.84f,  6.15f,  6.60f,  7.17f,  7.71f,  8.23f,  8.72f,  9.19f,
  9.63f, 10.04f, 10.44f, 10.81f, 11.17f, 11.50f, 11.82f, 12.20f,
  12.62f, 13.01f, 13.38f, 13.72f, 14.04f, 14.39f, 14.76f, 15.10f,
  15.46f, 15.83f, 16.18f, 16.53f, 16.89f, 17.23f, 17.60f, 18.00f,
  18.38f, 18.75f, 19.15f, 19.54f, 19.93f, 20.32f, 20.72f, 21.10f,
  21.47f, 21.84f, 22.18f, 22.51f, 22.81f, 23.10f, 23.37f, 23.62f,
  23.86f, 24.00f, 24.00f, 24.00f, 24.00f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_l_48[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
  3,  3,  3,  3,  3,  4,  4,  4,  4,  5,  6,  6,  6,  6,  8,  8,
  8,  9, 10, 10, 11, 12, 13, 13, 15, 16, 17, 19, 21, 23, 25, 28,
  31, 36, 40, 48, 50
};

static Ipp32f mp3enc_bark_values_l_48[] = {
   0.21f,  0.62f,  1.03f,  1.44f,  1.84f,  2.24f,  2.64f,  3.04f,
   3.43f,  3.81f,  4.18f,  4.55f,  4.92f,  5.27f,  5.62f,  5.96f,
   6.29f,  6.61f,  6.93f,  7.38f,  7.96f,  8.51f,  9.03f,  9.51f,
   9.97f, 10.41f, 10.81f, 11.20f, 11.56f, 11.91f, 12.23f, 12.54f,
  12.90f, 13.30f, 13.68f, 14.03f, 14.35f, 14.71f, 15.09f, 15.44f,
  15.76f, 16.11f, 16.50f, 16.89f, 17.26f, 17.60f, 17.98f, 18.39f,
  18.78f, 19.16f, 19.57f, 19.96f, 20.35f, 20.75f, 21.14f, 21.51f,
  21.87f, 22.22f, 22.55f, 22.86f, 23.15f, 23.42f, 23.67f, 23.90f,
  24.00f, 24.00f, 24.00f, 24.00f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_l_32[] = {
  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  2,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  4,
  4,  4,  4,  5,  5,  5,  6,  6,  6,  6,  8,  8,  8,  9, 10, 10,
  11, 13, 13, 14, 15, 16, 18, 18, 20, 21, 23, 26, 27, 30, 32, 36,
  40, 28
};

static Ipp32f mp3enc_bark_values_l_32[] = {
   0.14f,  0.41f,  0.82f,  1.37f,  1.91f,  2.44f,  2.97f,  3.49f,
   4.00f,  4.49f,  4.98f,  5.45f,  5.90f,  6.34f,  6.77f,  7.18f,
   7.58f,  7.96f,  8.33f,  8.69f,  9.03f,  9.36f,  9.67f,  9.97f,
  10.34f, 10.75f, 11.14f, 11.50f, 11.85f, 12.18f, 12.49f, 12.83f,
  13.19f, 13.53f, 13.86f, 14.19f, 14.54f, 14.87f, 15.21f, 15.55f,
  15.87f, 16.17f, 16.50f, 16.85f, 17.18f, 17.51f, 17.86f, 18.21f,
  18.56f, 18.93f, 19.31f, 19.69f, 20.07f, 20.44f, 20.83f, 21.20f,
  21.55f, 21.90f, 22.23f, 22.55f, 22.85f, 23.13f, 23.39f, 23.63f,
  23.86f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_l_24[] = {
  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,
  4,  4,  4,  5,  5,  5,  5,  6,  6,  7,  8,  8,  9,  9, 10, 11,
  12, 12, 14, 14, 16, 17, 18, 19, 21, 22, 24, 25, 27, 30, 32, 35,
  38, 21
};

static Ipp32f mp3enc_bark_values_l_24[] = {
   0.10f,  0.31f,  0.51f,  0.72f,  1.03f,  1.44f,  1.84f,  2.24f,
   2.64f,  3.04f,  3.43f,  3.81f,  4.18f,  4.55f,  4.92f,  5.27f,
   5.62f,  5.96f,  6.29f,  6.61f,  6.93f,  7.23f,  7.60f,  8.03f,
   8.44f,  8.84f,  9.21f,  9.57f,  9.92f, 10.30f, 10.71f, 11.11f,
  11.47f, 11.82f, 12.15f, 12.50f, 12.86f, 13.20f, 13.52f, 13.86f,
  14.19f, 14.53f, 14.90f, 15.26f, 15.62f, 15.98f, 16.32f, 16.68f,
  17.05f, 17.41f, 17.77f, 18.14f, 18.51f, 18.90f, 19.29f, 19.68f,
  20.07f, 20.46f, 20.85f, 21.22f, 21.59f, 21.94f, 22.28f, 22.61f,
  22.91f, 23.12f
};

static Ipp32s mp3enc_bark_numlines_l_22[] = {
   2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  3,
   3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,  4,  4,  4,
   5,  5,  5,  5,  6,  6,  7,  7,  8,  9,  9,  9, 11, 11, 12, 13,
  15, 15, 16, 17, 19, 20, 22, 23, 24, 27, 29, 31, 33, 36, 34
};

static Ipp32f mp3enc_bark_values_l_22[] = {
   0.19f,  0.57f,  0.94f,  1.32f,  1.69f,  2.07f,  2.43f,  2.80f,
   3.16f,  3.51f,  3.86f,  4.21f,  4.55f,  4.88f,  5.21f,  5.61f,
   6.07f,  6.52f,  6.96f,  7.38f,  7.78f,  8.17f,  8.54f,  8.90f,
   9.24f,  9.57f,  9.94f, 10.34f, 10.72f, 11.08f, 11.42f, 11.74f,
  12.09f, 12.45f, 12.79f, 13.10f, 13.43f, 13.77f, 14.11f, 14.46f,
  14.80f, 15.16f, 15.52f, 15.85f, 16.19f, 16.55f, 16.89f, 17.25f,
  17.62f, 17.99f, 18.35f, 18.72f, 19.10f, 19.48f, 19.87f, 20.26f,
  20.64f, 21.02f, 21.40f, 21.76f, 22.11f, 22.44f, 22.73f
};

static Ipp32s mp3enc_bark_numlines_l_16[] = {
   2,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
   3,  3,  3,  3,  3,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  6,
   6,  7,  7,  7,  7,  8,  8,  9, 10, 10, 11, 11, 13, 13, 15, 16,
  17, 18, 20, 21, 23, 25, 26, 29, 30, 33, 34, 33,
};

static Ipp32f mp3enc_bark_values_l_16[] = {
   0.14f,  0.41f,  0.75f,  1.16f,  1.57f,  1.98f,  2.38f,  2.78f,
   3.17f,  3.55f,  3.93f,  4.31f,  4.68f,  5.04f,  5.39f,  5.73f,
   6.07f,  6.40f,  6.72f,  7.03f,  7.33f,  7.68f,  8.06f,  8.42f,
   8.77f,  9.11f,  9.44f,  9.75f, 10.05f, 10.37f, 10.71f, 11.07f,
  11.44f, 11.82f, 12.20f, 12.56f, 12.90f, 13.24f, 13.58f, 13.91f,
  14.27f, 14.61f, 14.95f, 15.28f, 15.62f, 15.96f, 16.30f, 16.65f,
  17.01f, 17.36f, 17.72f, 18.08f, 18.45f, 18.83f, 19.21f, 19.60f,
  19.99f, 20.38f, 20.76f, 21.11f
};

static Ipp32f mp3enc_ptbl_qthr_l_44[] = {/* qsthr */
  8.55244e-012f, 8.55244e-012f, 2.70452e-012f, 2.70452e-012f,
  2.70452e-012f, 1.35547e-012f, 1.35547e-012f, 4.28637e-013f,
  4.28637e-013f, 2.70452e-013f, 2.70452e-013f, 2.70452e-013f,
  2.70452e-013f, 2.70452e-013f, 2.70452e-013f, 2.70452e-013f,
  2.70452e-013f, 2.70452e-013f, 4.05593e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  6.76223e-013f, 6.76223e-013f, 6.76223e-013f, 8.11129e-013f,
  8.11129e-013f, 9.46433e-013f, 9.46433e-013f, 1.08166e-012f,
  1.08166e-012f, 1.21644e-012f, 1.21644e-012f, 1.35235e-012f,
  1.48624e-012f, 1.62215e-012f, 1.75829e-012f, 1.89274e-012f,
  2.02810e-012f, 2.16317e-012f, 2.29663e-012f, 2.43271e-012f,
  2.70452e-012f, 5.66357e-012f, 6.19569e-012f, 6.47277e-012f,
  1.11196e-011f, 1.19699e-011f, 1.28260e-011f, 4.45749e-011f,
  4.86508e-011f, 5.27339e-011f, 5.80885e-010f, 6.35463e-010f,
  7.16292e-010f, 7.96325e-009f, 9.05920e-009f, 1.02586e-008f,
  1.18875e-008f, 1.29446e-008f
};

static Ipp32f mp3enc_ptbl_qthr_l_32[] = { /* qsthr */
  1.28260e-011f, 1.28260e-011f, 4.05593e-012f, 4.05593e-012f,
  2.03278e-012f, 2.03278e-012f, 6.42821e-013f, 6.42821e-013f,
  6.42821e-013f, 4.05593e-013f, 4.05593e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 6.76223e-013f, 6.76223e-013f,
  6.76223e-013f, 6.76223e-013f, 8.11129e-013f, 8.11129e-013f,
  8.11129e-013f, 9.46433e-013f, 9.46433e-013f, 1.08166e-012f,
  1.08166e-012f, 1.21644e-012f, 1.35235e-012f, 1.35235e-012f,
  1.48624e-012f, 1.62215e-012f, 1.75829e-012f, 1.89274e-012f,
  2.02810e-012f, 2.16317e-012f, 2.29663e-012f, 2.56502e-012f,
  2.70452e-012f, 2.97228e-012f, 3.10520e-012f, 3.38135e-012f,
  3.64830e-012f, 7.81790e-012f, 8.35776e-012f, 8.89385e-012f,
  1.49655e-011f, 1.62215e-011f, 1.75021e-011f, 6.08261e-011f,
  6.48769e-011f, 7.16292e-011f, 7.83592e-010f, 8.65147e-010f,
  9.59600e-010f, 3.10520e-009f
};

static Ipp32f mp3enc_ptbl_qthr_l_48[] = { /* qsthr */
  8.55244e-012f, 8.55244e-012f, 2.70452e-012f, 2.70452e-012f,
  1.35547e-012f, 1.35547e-012f, 4.28637e-013f, 4.28637e-013f,
  4.28637e-013f, 2.70452e-013f, 2.70452e-013f, 2.70452e-013f,
  2.70452e-013f, 2.70452e-013f, 2.70452e-013f, 2.70452e-013f,
  2.70452e-013f, 2.70452e-013f, 2.70452e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 4.05593e-013f,
  4.05593e-013f, 4.05593e-013f, 4.05593e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  6.76223e-013f, 6.76223e-013f, 6.76223e-013f, 8.11129e-013f,
  8.11129e-013f, 9.46433e-013f, 9.46433e-013f, 1.08166e-012f,
  1.08166e-012f, 1.21644e-012f, 1.35235e-012f, 1.35235e-012f,
  1.48624e-012f, 1.62215e-012f, 1.75829e-012f, 1.89274e-012f,
  2.02810e-012f, 2.16317e-012f, 2.29663e-012f, 2.43271e-012f,
  5.39623e-012f, 5.66357e-012f, 6.19569e-012f, 1.02586e-011f,
  1.11196e-011f, 1.19699e-011f, 4.18880e-011f, 4.59293e-011f,
  5.00138e-011f, 5.40866e-010f, 6.08261e-010f, 6.76223e-009f,
  7.56990e-009f, 8.51314e-009f, 9.72948e-009f, 1.13525e-008f,
  8.37702e-009f
};

static Ipp32f mp3enc_ptbl_qthr_l_24[] = { /* qsthr */
  1.28260e-011f, 1.28260e-011f, 1.28260e-011f, 4.05592e-012f,
  4.05592e-012f, 4.05592e-012f, 2.03278e-012f, 2.03278e-012f,
  2.03278e-012f, 6.42821e-013f, 6.42821e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 6.76223e-013f, 6.76223e-013f,
  6.76223e-013f, 6.76223e-013f, 6.76223e-013f, 8.11129e-013f,
  8.11129e-013f, 8.11129e-013f, 8.11129e-013f, 9.46433e-013f,
  9.46433e-013f, 9.46433e-013f, 1.08166e-012f, 1.08166e-012f,
  1.21644e-012f, 1.21644e-012f, 1.35235e-012f, 1.48624e-012f,
  1.62215e-012f, 1.62215e-012f, 1.75829e-012f, 1.89274e-012f,
  2.02810e-012f, 2.29663e-012f, 2.43271e-012f, 2.56502e-012f,
  2.83851e-012f, 2.97228e-012f, 3.24407e-012f, 3.51633e-012f,
  3.78521e-012f, 4.05592e-012f, 4.32604e-012f, 4.59293e-012f,
  9.97907e-012f, 1.05218e-011f, 1.13263e-011f, 1.92349e-011f,
  2.09455e-011f, 2.26511e-011f, 7.69290e-011f, 8.37703e-011f,
  9.05920e-011f, 4.59293e-011f
};

static Ipp32f mp3enc_ptbl_qthr_l_22[] = { /* qsthr */
  1.71037e-011f, 1.71037e-011f, 5.40866e-012f, 5.40866e-012f,
  5.40866e-012f, 2.71075e-012f, 2.71075e-012f, 8.57215e-013f,
  8.57215e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 6.76223e-013f, 6.76223e-013f,
  6.76223e-013f, 6.76223e-013f, 6.76223e-013f, 6.76223e-013f,
  8.11129e-013f, 8.11129e-013f, 8.11129e-013f, 8.11129e-013f,
  9.46433e-013f, 9.46433e-013f, 9.46433e-013f, 1.08166e-012f,
  1.08166e-012f, 1.21644e-012f, 1.21644e-012f, 1.35235e-012f,
  1.35235e-012f, 1.48624e-012f, 1.62215e-012f, 1.75829e-012f,
  1.89274e-012f, 2.02810e-012f, 2.16317e-012f, 2.29663e-012f,
  2.56502e-012f, 2.70452e-012f, 2.97228e-012f, 3.10520e-012f,
  3.38135e-012f, 3.64830e-012f, 3.91823e-012f, 4.18880e-012f,
  4.45749e-012f, 4.86508e-012f, 5.12968e-012f, 1.10431e-011f,
  1.18601e-011f, 1.26791e-011f, 2.17816e-011f, 2.35012e-011f,
  2.51820e-011f, 8.65147e-011f, 8.24309e-011f
};

static Ipp32f mp3enc_ptbl_qthr_l_16[] = { /* qsthr */
  1.71037e-011f, 1.63339e-011f, 5.40866e-012f, 5.16523e-012f,
  5.04766e-012f, 2.58875e-012f, 2.71075e-012f, 8.00000e-013f,
  8.00000e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.40866e-013f, 5.40866e-013f, 5.40866e-013f,
  5.40866e-013f, 5.04766e-013f, 6.76223e-013f, 6.76223e-013f,
  6.76223e-013f, 6.76223e-013f, 6.76223e-013f, 6.44303e-013f,
  8.11129e-013f, 8.11129e-013f, 8.11129e-013f, 9.46433e-013f,
  9.46433e-013f, 9.46433e-013f, 1.08166e-012f, 1.08166e-012f,
  1.21644e-012f, 1.21644e-012f, 1.35235e-012f, 1.35235e-012f,
  1.48624e-012f, 1.48624e-012f, 1.62215e-012f, 1.77456e-012f,
  1.92792e-012f, 2.06581e-012f, 2.21355e-012f, 2.35012e-012f,
  2.61873e-012f, 2.72327e-012f, 2.99288e-012f, 3.11954e-012f,
  3.50824e-012f, 3.78521e-012f, 4.11235e-012f, 4.33601e-012f,
  4.63543e-012f, 5.18907e-012f, 5.24916e-012f, 1.13525e-011f,
  1.22205e-011f, 1.30644e-011f, 2.20846e-011f, 2.45522e-011f,
};

static Ipp32s mp3enc_bark_numlines_s_44[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
  2,  2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  5,  5,  6,  6,  6,
  6,  8,  8,  9,  9, 11, 12, 13, 15, 16
};

static Ipp32f mp3enc_bark_values_s_44[] = {
  0.53f,  1.58f,  2.61f,  3.61f,  4.57f,  5.48f,  6.34f,  7.15f,
  8.26f,  9.56f, 10.68f, 11.64f, 12.47f, 13.20f, 13.83f, 14.40f,
 14.91f, 15.37f, 15.89f, 16.45f, 16.95f, 17.41f, 17.84f, 18.24f,
 18.62f, 19.04f, 19.48f, 19.94f, 20.42f, 20.89f, 21.35f, 21.76f,
 22.12f, 22.49f, 22.85f, 23.16f, 23.45f, 23.71f, 23.95f, 24.00f,
 24.00f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_s_48[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
  2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,  5,  5,  6,  6,  6,
  7,  8,  9,  9, 11, 12, 13, 15, 18,  3
};

static Ipp32f mp3enc_bark_values_s_48[] = {
  0.62f,  1.84f,  3.04f,  4.18f,  5.27f,  6.29f,  7.23f,  8.10f,
  9.27f, 10.61f, 11.74f, 12.68f, 13.49f, 14.19f, 14.81f, 15.35f,
  15.84f, 16.39f, 16.99f, 17.52f, 18.01f, 18.47f, 18.89f, 19.29f,
  19.73f, 20.19f, 20.62f, 21.05f, 21.49f, 21.91f, 22.30f, 22.65f,
  22.96f, 23.27f, 23.56f, 23.81f, 24.00f, 24.00f, 24.00f, 24.00f,
  24.00f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_s_32[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  5,  5,  6,  6,
  6,  6,  7,  8,  8,  9,  9, 11, 12, 12, 13, 10
};

static Ipp32f mp3enc_bark_values_s_32[] = {
  0.41f,  1.23f,  2.04f,  2.84f,  3.62f,  4.37f,  5.10f,  5.79f,
  6.77f,  7.96f,  9.03f,  9.97f, 10.81f, 11.56f, 12.23f, 12.83f,
  13.37f, 13.86f, 14.30f, 14.81f, 15.35f, 15.84f, 16.29f, 16.70f,
  17.08f, 17.43f, 17.82f, 18.24f, 18.68f, 19.14f, 19.61f, 20.08f,
  20.51f, 20.91f, 21.30f, 21.71f, 22.09f, 22.44f, 22.77f, 23.07f,
  23.37f, 23.63f, 23.85f, 24.00f
};

static Ipp32s mp3enc_bark_numlines_s_24[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,  5,  5,
  6,  6,  6,  7,  7,  8,  9,  9, 10, 11, 12, 12, 14,  2
};

static Ipp32f mp3enc_bark_values_s_24[] = {
  0.31f,  0.93f,  1.54f,  2.14f,  2.74f,  3.33f,  3.90f,  4.46f,
  5.01f,  5.53f,  6.29f,  7.23f,  8.10f,  8.90f,  9.63f, 10.30f,
  0.91f, 11.47f, 11.99f, 12.46f, 13.00f, 13.59f, 14.11f, 14.59f,
  5.02f, 15.42f, 15.78f, 16.18f, 16.60f, 16.99f, 17.39f, 17.81f,
  8.24f, 18.68f, 19.09f, 19.51f, 19.94f, 20.35f, 20.79f, 21.21f,
  1.61f, 21.99f, 22.36f, 22.70f, 23.01f, 23.18f
};

static Ipp32s mp3enc_bark_numlines_s_22[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  3,  4,  4,  5,  5,
  6,  6,  6,  6,  7,  8,  8,  9,  9, 10, 11, 12, 12, 10
};

static Ipp32f mp3enc_bark_values_s_22[] = {
   0.28f,  0.85f,  1.41f,  1.97f,  2.53f,  3.07f,  3.60f,  4.12f,
   4.63f,  5.13f,  5.84f,  6.74f,  7.58f,  8.36f,  9.07f,  9.73f,
  10.34f, 10.90f, 11.42f, 11.90f, 12.45f, 13.04f, 13.58f, 14.06f,
  14.50f, 14.91f, 15.28f, 15.63f, 16.01f, 16.41f, 16.82f, 17.25f,
  17.68f, 18.12f, 18.53f, 18.92f, 19.32f, 19.75f, 20.17f, 20.59f,
  20.99f, 21.38f, 21.76f, 22.14f, 22.47f, 22.74f
};

static Ipp32s mp3enc_bark_numlines_s_16[] = {
  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,
  2,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,
  5,  5,  6,  6,  6,  7,  8,  8,  9,  9, 10, 11, 12, 12, 10
};

static Ipp32f mp3enc_bark_values_s_16[] = {
   0.21f,  0.62f,  1.03f,  1.44f,  1.84f,  2.24f,  2.64f,  3.04f,
   3.43f,  3.81f,  4.37f,  5.10f,  5.79f,  6.45f,  7.08f,  7.68f,
   8.24f,  8.77f,  9.27f,  9.75f, 10.19f, 10.71f, 11.29f, 11.82f,
  12.31f, 12.76f, 13.17f, 13.56f, 13.91f, 14.30f, 14.71f, 15.09f,
  15.48f, 15.88f, 16.29f, 16.70f, 17.08f, 17.46f, 17.88f, 18.29f,
  18.71f, 19.12f, 19.52f, 19.94f, 20.37f, 20.78f, 21.13f
};

static Ipp32f mp3enc_ptbl_qthr_s_44[] = { /* qsthr */
  4.27652e-013f, 1.35235e-013f, 2.14333e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 4.05593e-014f, 4.05593e-014f, 8.09263e-014f,
  8.09263e-014f, 1.71037e-013f, 1.71037e-013f, 1.71037e-013f,
  5.40866e-013f, 6.76223e-013f, 6.76223e-013f, 8.11129e-012f,
  8.11129e-012f, 9.46433e-012f, 1.08166e-010f, 1.21644e-010f,
  1.35235e-010f, 1.62215e-010f
};

static Ipp32f mp3enc_ptbl_qthr_s_48[] = { /* qsthr */
  4.27652e-013f, 1.35235e-013f, 2.14333e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  4.05593e-014f, 8.09263e-014f, 8.09263e-014f, 8.09263e-014f,
  1.28260e-013f, 1.71037e-013f, 5.40866e-013f, 5.40866e-013f,
  6.76223e-013f, 6.76223e-012f, 8.11129e-012f, 8.11129e-012f,
  8.71144e-011f, 1.08166e-010f, 1.21644e-010f, 1.35235e-010f,
  1.62215e-010f, 1.62215e-010f
};

static Ipp32f mp3enc_ptbl_qthr_s_32[] = { /* qsthr */
  4.27652e-013f, 1.35235e-013f, 6.77782e-014f, 2.14333e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 4.05593e-014f, 4.05593e-014f,
  4.05593e-014f, 4.05593e-014f, 5.40866e-014f, 5.40866e-014f,
  1.07917e-013f, 1.07917e-013f, 2.13841e-013f, 2.13841e-013f,
  2.13841e-013f, 8.11129e-013f, 8.11129e-013f, 9.46433e-013f,
  1.08166e-011f, 1.08166e-011f, 1.21644e-011f, 8.91436e-010f
};

static Ipp32f mp3enc_ptbl_qthr_s_24[] = { /* qsthr */
  4.27652e-013f, 4.27652e-013f, 1.35235e-013f, 6.77782e-014f,
  2.14333e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 4.05593e-014f,
  4.05593e-014f, 4.05593e-014f, 4.05593e-014f, 4.05593e-014f,
  5.40866e-014f, 5.40866e-014f, 5.40866e-014f, 6.76223e-014f,
  6.76223e-014f, 1.34924e-013f, 1.61842e-013f, 2.56502e-013f,
  2.99288e-013f, 2.99288e-013f, 1.08166e-012f, 1.08166e-012f,
  1.21644e-012f, 1.35235e-012f
};

static Ipp32f mp3enc_ptbl_qthr_s_22[] = { /* qsthr */
  4.27652e-013f, 4.27652e-013f, 1.35235e-013f, 6.77782e-014f,
  2.14333e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  4.05593e-014f, 4.05593e-014f, 4.05593e-014f, 4.05593e-014f,
  5.40866e-014f, 5.40866e-014f, 5.40866e-014f, 5.40866e-014f,
  6.76223e-014f, 6.76223e-014f, 1.34924e-013f, 1.61842e-013f,
  1.61842e-013f, 2.99288e-013f, 2.99288e-013f, 3.42050e-013f,
  1.08166e-012f, 9.46433e-013f
};

static Ipp32f mp3enc_ptbl_qthr_s_16[] = { /* qsthr */
  4.27652e-013f, 4.27652e-013f, 1.35235e-013f, 1.35235e-013f,
  6.77782e-014f, 2.14333e-014f, 2.14333e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 1.35235e-014f, 1.35235e-014f, 1.35235e-014f,
  1.35235e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 2.70452e-014f, 2.70452e-014f, 2.70452e-014f,
  2.70452e-014f, 4.05593e-014f, 4.05593e-014f, 4.05593e-014f,
  4.05593e-014f, 4.05593e-014f, 5.40866e-014f, 5.40866e-014f,
  5.40866e-014f, 6.76223e-014f, 6.76223e-014f, 6.76223e-014f,
  8.11129e-014f, 8.11129e-014f, 9.46433e-014f, 9.46433e-014f,
  2.15819e-013f, 2.15819e-013f, 1.88838e-013f
};

const mpaPsyPartitionTable mp3_psy_partition_tables_long[2][3] =
{
  {
    {63, mp3enc_bark_numlines_l_22, mp3enc_bark_values_l_22, mp3enc_ptbl_qthr_l_22},  /* 22050 */
    {66, mp3enc_bark_numlines_l_24, mp3enc_bark_values_l_24, mp3enc_ptbl_qthr_l_24},  /* 24000 */
    {60, mp3enc_bark_numlines_l_16, mp3enc_bark_values_l_16, mp3enc_ptbl_qthr_l_16},  /* 16000 */
  },
  {
    {70, mp3enc_bark_numlines_l_44, mp3enc_bark_values_l_44, mp3enc_ptbl_qthr_l_44},  /* 44100 */
    {69, mp3enc_bark_numlines_l_48, mp3enc_bark_values_l_48, mp3enc_ptbl_qthr_l_48},  /* 48000 */
    {66, mp3enc_bark_numlines_l_32, mp3enc_bark_values_l_32, mp3enc_ptbl_qthr_l_32},  /* 32000 */
  }
};

const mpaPsyPartitionTable mp3_psy_partition_tables_short[2][3] =
{
  {
    {46, mp3enc_bark_numlines_s_22, mp3enc_bark_values_s_22, mp3enc_ptbl_qthr_s_22},  /* 22050 */
    {46, mp3enc_bark_numlines_s_24, mp3enc_bark_values_s_24, mp3enc_ptbl_qthr_s_24},  /* 24000 */
    {47, mp3enc_bark_numlines_s_16, mp3enc_bark_values_s_16, mp3enc_ptbl_qthr_s_16},  /* 16000 */
  },
  {
    {42, mp3enc_bark_numlines_s_44, mp3enc_bark_values_s_44, mp3enc_ptbl_qthr_s_44},  /* 44100 */
    {42, mp3enc_bark_numlines_s_48, mp3enc_bark_values_s_48, mp3enc_ptbl_qthr_s_48},  /* 48000 */
    {44, mp3enc_bark_numlines_s_32, mp3enc_bark_values_s_32, mp3enc_ptbl_qthr_s_32},  /* 32000 */
  }
};

#endif //UMC_ENABLE_MP3_AUDIO_ENCODER
